The present disclosure relates generally to information handling systems, and more particularly to selecting Spanning Tree Protocol (STP) links for communication between information handling systems.
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Information handling systems such as, for example, switch devices, sometime utilize the Spanning Tree Protocol (STP) for transmitting traffic through a network. As would be understood by one of skill in the art, the STP is a network protocol that builds a loop-free logical topology for Ethernet/Layer 2 (L2) networks, and operates to prevent bridge loops and the broadcast radiation that results from them, while allowing a network design that includes backup links that provide fault tolerance if an active link fails. The STP may be utilized to create a spanning tree within a network of connected layer-2 bridges (e.g., the switch devices discussed above), and disables those links that are not part of the spanning tree, leaving a single active link between any two network nodes. The active link provided between any two switch devices may be provided by a “designated port” on a “root/designated switch device” and a “root port” on a “non-root/non-designated switch device” (also referred to a “root-designated pair”), while the non-active links may be provided by a “designated port” on that root/designated switch device and an “alternate port” on that non-root/non-designated switch device (also referred to a “alternate-designated pair”). In many examples, one of the switch devices is selected as a root/designated switch device based on its root bridge identifier being lower than any of the other switch devices, and the active link for each non-root/non-designated switch device may be selected amongst a plurality of different links available between the directly connected root switch device or designated switch device and that non-root/non-designated switch device first based on relative root path costs, then based on the lowest designated bridge identifiers if the root path costs associated with the links are the same, and then based on the lowest designated port identifiers if the designated bridge identifiers associated with the links are the same. The use of the designated port identifier in selecting the active link can raise a number of issues.
Typically, the selection of a port on a non-root/non-designated switch device as a root port is based on that port receiving the lowest designated port identifier from the directly connected root/designated switch device (relative to the other ports that are included on the non-root/non-designated switch device and that provide a link to the directly connected root/designated switch device), while the remaining links provided by those other ports are considered non-active links (i.e., links that are blocked from forwarding data traffic). However, subsequent to this STP active link selection, if a port provides a new link to the directly connected root/designated switch device that becomes available and receives a lower designated port identifier from the root/designated switch device, the active link selection process is repeated so that the new link may be selected as the active link (i.e., due to it having received the lowest designated port identifier from the directly connected root/designated switch device.) As such, each time a new port on the directly connected root/designated switch device having a lower port identifier (i.e., relative to the port on the root/designated switch device that is currently providing the active link) has its associated link become available, the STP triggers a topology-change event and traffic is forced to reconverge on that new link due to its selection as the new active link. Similarly, in links between root/designated switch devices and non-root/non-designated switch devices provided in Link Aggregation Groups (LAGs), when a first port channel that provides a first LAG that is provided on the root/designated switch device is selected as the active LAG, and a second port channel that provides a second LAG that is provided on the root/designated switch device and that includes a lower port channel identifier than that of the first port channel becomes available at a later time, the active LAG selection process will be repeated to select that second LAG as the active LAG, which interrupts traffic that was being transmitted over the first LAG.
The repeating of the STP active link selection process/reconvergence operations is associated with considerable overhead, including the performance of STP port re-selection operations, hardware port state re-programming, Media Access Control (MAC) address flushing, MAC address re-learning, and/or other STP tasks known in the art. Furthermore, as discussed above, the STP active link selection process/reconvergence operations can also result in traffic disruptions that can lead to data loss. Conventional solutions to these issues may be realized via a feature in the STP that allows a network administrator or other user to manually configure port priorities of port (or port channel priorities of port channels) in order to override the selection of the active link (or active LAG) via the port identifiers and port channel identifiers discussed above. However, such processes are time consuming, and in relatively large switch device/network deployments with relatively large numbers of links or LAGs, the time and effort needed to assign port priorities to each port (or port channel priorities to port channels) in the switch devices/network is considerable. Furthermore, even with manual port priority configuration, the issues associated with ports/links (or port channels/LAGs) becoming available at a later time (i.e., after the active link or active LAG has been selected) remains, and in LAG situations it is often not possible to determine the order in which different LAGs will become available. As such, manual port priority configuration does not resolve the potential of traffic disruptions and/or data losses that can occur due to the repeating of the STP active link selection process/reconvergence operations discussed above.
Accordingly, it would be desirable to provide an improved STP link selection system.